The Domain Name System (DNS) is a hierarchical distributed naming system for resources connected to networks, such as the Internet. The Domain Name System associates numerical IP addresses with domain names of network entities. DNS servers translate domain names, which can be easily remembered and used by humans, to numerical IP addresses. DNS servers can also store and provide other record types (such as Canonical Name (CNAME), free form text (TXT), mail exchanger record (MX record), Pointer records (such as PTR records) that do different functions.
The Domain Name System maintains the domain name hierarchy and provides translation services between it and the Internet Protocol (IP) address space. Internet name servers and a communication protocol implement the Domain Name System. A DNS name server is a server that stores the DNS records for a domain name, receives DNS requests and responds with answers to queries against its database.
In addition to the Domain names that it is responsible for, DNS servers typically cache DNS requests and responses that have been received from other DNS name servers. Caching name servers (DNS caches) store DNS query results for a period of time determined in an associated time-to-live of a domain-name record. DNS caches improve the efficiency of the DNS by reducing DNS traffic across the Internet, and by reducing load on authoritative name-servers, particularly root name-servers. Because they can answer questions more quickly, they also increase the performance of end-user applications that use the DNS.